1. Field of the Invention
The present invention relates to an advertisement search agent, and more particularly to an advertisement search agent for detecting a change in available services on a network due to a connection or a disconnection of a node.
2. Description of the Related Art
Heretofore, broadcast and multicast technologies have been used as means for discovering services provided on networks. Nodes which provide services (hereinafter referred to as service providing nodes) on a network advertise the existence of services using broadcast or multicast to simultaneously inform nodes using all services that exist oh the same network (hereinafter referred to as service using nodes) of the existence of the services. The service using nodes can simultaneously recognize all the services that exist on the network by searching for the existence of the services using broadcast or multicast. Applications for discovering services based on broadcast or multicast include UPnP DA (Universal Plug and Play Device Architecture) and messenger software known as IP Messenger, which are widely used in the art.
Since the broadcast and multicast techniques pose a large load on networks, the above applications are implemented to restrict the frequency of broadcast and multicast services. Specifically, it is the general practice for a service providing node or a service using node to broadcast or multicast a message for advertising or searching for the service when the node machine is activated, i.e., when the application is activated, and thereafter to provide a broadcast or multicast service automatically at certain time intervals. Though the time intervals for providing the broadcast or multicast service differ depending on how individual applications are implemented, they are generally 30 minutes each for UPnP DA, for example.
If a service providing node or a service using node is newly connected to a network after the node machine is activated or when a service providing node or a service using node is connected to a network that is different from the network to which the service providing node or the service using node was connected when the node machine was activated, then the node is unable to discover service providing nodes already connected to the network or advertise its own service to service using nodes immediately after the node is connected to the network. For example, when service using node A is connected to a network to which service providing nodes X, Y have already been connected, service using node A has to wait until service providing nodes X, Y broadcast or multicast their advertisement messages or service using node A broadcasts or multicasts its search message, in order to recognize the existence of service providing nodes X, Y on the network. The same problem arises when a service providing node is connected to a network and also when a node is disconnected from a network.
The problem also occurs not only when a node is connected to a physical network, but also when a node is connected to a virtual network. Advertising or searching for services on a network using broadcast or multicast is limited to the network only. Recently, attention has been drawn to the use on a virtual network of applications for advertising or searching for services using broadcast or multicast. The reason for using those applications on the virtual network is that a virtual network created across physically different networks for advertising or searching for services on the virtual network using broadcast or multicast allows the user to discover services that are present on physically different networks. While the virtual network is advantageous as described above, it also suffers the problem described above, i.e., a service providing node or a service using node, immediately after it is newly connected to a virtual network, is unable to use services on the virtual network or provide services to nodes on the virtual network.
One solution to the above problem is a method of installing a device proxy for advertising a service on behalf of a service providing node as disclosed in JP2005-311773A.
The device proxy is provided in each subnet. Device proxies that are present in different subnets are linked to inform service using nodes that are present in different subjects of the existence of a service immediately when required. Specifically, the following procedure is carried out:
When a device proxy receives a connection request from another device proxy, the device proxy broadcasts a search message to the subject to which it is connected, for searching for a service providing node. When the device proxy receives a response frame in response to the search message, the device proxy converts the response frame into an advertisement frame, and delivers the advertisement frame to the device proxy which has sent the connection request. In this manner, a service using node can discover a service provided on the network immediately after the connection request.
The above conventional technology, however, suffers the following three drawbacks:
The first drawback is that when a service providing node is connected to a network, it cannot immediately inform service using nodes already connected to the network of the information of services that are newly connected to the network. Heretofore, when a service using node is connected to a network, a service providing node that has already been connected to the network informs the service using node of the existence of services provided by the service providing node, and when a service providing node is connected to the network, the service providing node does not advertise services provided by the service providing node to existing service using nodes.
The second drawback is that since a device proxy informs a newly connected node of the information of all services that exist in a subnet domain to which the device proxy is connected, the device proxy is unable to selectively advertise the existence of a service among the services that exist in the subnet domain to which the device proxy is connected. For example, a device proxy is connected to physical subnet A and virtual subnet B, and of services X, Y, Z connected to subnet A, only service X is connected to virtual subnet B. Heretofore, node I newly connected to virtual subnet B is informed of not only service X that is connected to virtual subnet B, but also services Y, Z. As a result, node I is informed of the services that are actually not available to node I, and, even if services Y, Z are deliberately not connected to the virtual network to reject use by node I, the information of services Y, Z leaks to node I. This problem arises when the device proxy is connected to a plurality of physical networks and also when the device proxy is connected to a plurality of virtual networks.
The third drawback is that the disconnection of a node from a network cannot immediately be indicated because a conventional device proxy does not have a function to indicate the disconnection of a node from a network. For example, when a service providing node is disconnected from a network, a service using node connected to the network is unable to detect the unavailability of the service provided by the service providing node immediately after the service providing node is disconnected. Furthermore, when a service using node is disconnected from a network, the service using node is unable to detect the unavailability of the services provided by the network immediately after the service using node is disconnected.